package com.tanggh.util;

import java.util.regex.Pattern;

/**
 * 
 * @author tanggaohong
 * @version 1.0
 */
public class Validator {

	
	/**
	 * 是不是一个电话号码 支持0773-4092242，4092242 两种格式
	 * @param input  需要验证的字符串
	 * @return 是 true;否 false
	 */
	public static boolean isTelephoneNumber(String input){
		if(!isNull(input)){
			input = input.trim();
			String regex = "([0-9]+[-]?)?[0-9]+([-][0-9]+)?";
			return Pattern.matches(regex, input);
		}
		else{
			return false;
		}
	}
	
	/**
	 * 是不是一个手机号码,只支持中国11位号码
	 * @param input 需要验证的字符串
	 * @return 是 true;否 false
	 */
	public static boolean isMobileNumber(String input){
		if(!isNull(input)){
			input = input.trim();
			String regex = "[1][0-9]{10}";
			return Pattern.matches(regex, input);
		}
		else{
			return false;
		}
	}
	
	/**
	 * 是不是一个数字
	 * @param input 需要验证的字符串
	 * @return 是 true;否 false
	 */
	public static boolean isNumber(String input){
		if(!isEmpty(input)){
			input = input.trim();
			String regex = "\\d*";
			return Pattern.matches(regex, input);
		}
		else{
			return false;
		}
	}
	
	/**
	 * 是不是Email
	 * @param input 需要验证的字符串
	 * @return 是 true; 否 false
	 */
	public static boolean isEmail(String input){
		if(!isNull(input)){
			input = input.trim();
			String regex = "[a-zA-Z0-9_\\.\\-]+@[a-zA-Z0-9\\-\\.]+\\.[0-9a-zA-Z]+";
			return Pattern.matches(regex, input.trim());
		}
		else{
			return false;
		}
	}
	
	/**
	 * 是不是一个小数
	 * @param input  需要验证的字符串
	 * @return 是 true;否 false
	 */
	public static boolean isFloat(String input){
		if(!isNull(input)){
			input = input.trim();
			String regex = "[0-9]+[\\.]?[0-9]+";
			return Pattern.matches(regex, input);
		}
		else{
			return false;
		}
	}

	/**
	 * 验证是否问空
	 * @param input 需要验证的字符串
	 * @return 是 true;否 false
	 */
	private static boolean isNull(String input){
		return null==input ? true:false;
	}
	
	/**
	 * 是不是空or 空字符串
	 * @param input 需要验证的字符串
	 * @return 是 true;否 false
	 */
	public static boolean isEmpty(String input){
		if(null == input) {
			return true;
		}
		return "".equals(input.trim());
	}
	
	public static void main(String[] args) {
		System.out.println(isEmail("ta-.ng@3-6..vip"));
	}
}
